<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    console.log(a);  // undefined
    var a = 100;

    // console.log(b);  //Uncaught ReferenceError: Cannot access 'b' before initialization
    let b = 200;  // let关键字声明的变量没有变量提升，必须先声明再使用

    var num = 10;
    var member = "abc";
    if (true) {
        console.log(member); // abc 可以向外查找member

        console.log(num);  // num 在这个局部作用域中被let声明，造成暂时性死区，
                           // num 不会向外查找，只会在本局部作用域，并且是这行代码之前进行查找
                           // 因为会触发Error Uncaught ReferenceError: Cannot access 'num' before initialization
        let num = 20;
    }

</script>
</body>
</html>